草庐IT

python - 后台进程 subprocess.Popen with Pipe

全部标签

linux - 如何将带有国家字符的Linux Python 3.4代码转换成windows中的可执行代码

我的母语是波兰语。我有在Linux上编写的Python3.4程序。该程序主要处理文本,波兰语文本。所以当然,变量名没有任何特殊字符,但有时我会在其中放入一些带有波兰字符的字符串,用户将从键盘输入一些带有波兰字符的字符串,我的程序从文件中读取,在那里我得到带有波兰字符的字符串.在Linux上一切正常。我没有考虑编码,它只是工作。但现在我想让它在Windows上运行。你能帮我理解,我应该怎么做才能实现这种转变吗?或者也许有一些变通办法——我只需要有Windows可执行文件。完美的方法是“Pyinstaller”,但它只适用于python2.7,不适用于3.4。这就是为什么我想让它在Wind

c++ - 获取优先于提升进程的互斥量

我有一个Mutex来避免多个进程同时运行,这些进程可能会在Mutex释放后等待启动。现在我可以有一些实例试图获得一个提升的和非提升的Mutex。一旦Mutex被持有锁的进程释放,我希望提升的进程能够在非提升的进程之前获取Mutex。不太可能,但我想考虑许多未提升的实例和许多提升的实例竞争同一个互斥锁以带来强大的功能。实现该目标的稳健方法是什么?该问题的解决方案可以使用多个互斥量。我在想我可以研究这种方法,将高架和非高架区分开来,并玩点小把戏。编辑:我主要在寻找WindowsVista+的答案,但如果我们将问题减少到优先获取互斥锁的进程类别,我认为该问题适用于其他操作系统。了解其他操作系

C++ 保护进程不被挂起

是否有任何可能的方法来保护exe不被挂起?请注意,我是应用程序的所有者。 最佳答案 SysinternalsProcessExpert等工具允许您暂停任何进程。如果用户具有管理员权限,则无法避免这种情况。ThisSOanswer显示了暂停Windows进程的三种解决方案。然而,有一种方法可以使这变得极其困难:解决方案包括为您的应用程序设置影子进程。应用程序和影子进程然后应监视彼此的挂起状态并在必要时恢复挂起的进程:由于进程必须一个接一个地挂起,这种孪生方法可确保两个进程之一处于事件状态并且可以防止挂起。但是,这种持续监控非常耗费CP

检查(作为普通用户)管理进程是否正在运行(C,Windows)

我正在尝试检查从服务启动的进程是否正在运行。问题是,我们将我们的应用程序从WindowsXP迁移到Windows7。此应用程序的一部分是服务,它会启动一些进程。另一部分是对话应用程序。此对话框应用程序尝试识别来自服务的进程是否正在运行。进程的pids存储在共享内存中,因此我可以使用WinApi中的OpenProcess()获取进程句柄,这适用于WindowsXP。如果我尝试在Windows7上执行此操作,该函数会报错-访问被拒绝。我想,我知道,为什么会这样(Windows7中新的0级隔离),但我需要找到一些解决方法。我的问题是是否可以对创建的进程设置访问权限以及如何设置(请给我一些示例

python - 使用 Python 3 支持构建 OpenCV

我想在OpenCV中支持Python3,所以我读到我需要用它构建我自己的版本。我从SourceForge下载了OpenCV3beta,然后我用CMake创建了一个项目,然后用VisualStudio编译了它。它创建了很多文件(实际上与Sourceforge的预编译文件夹中的结构不同),还有一个cv2.pyd。我将此文件放入Python34\lib\site-packages,并在python控制台中尝试importcv2,但它说追溯(最近一次通话):文件“”,第1行,位于ImportError:DLL加载失败:找不到模块。我做错了什么?谢谢。 最佳答案

python - 如何使用 msvc 10.0 为 win8.1 64 位构建 boost python 3.4 共享库

我正在尝试为python3.464库构建boostpython因为我需要它们来构建http://dlib.net/python绑定(bind)我的设置如下:安装MSVC12.0python3.464位已安装我下载了最新的boost1.57我能够编译静态库,但是当我尝试链接动态库时程序失败。我的project-config.jam看起来像这样importoption;usingmsvc:10.0;usingpython:3.4:C:\\Python34;option.setkeep-going:false;为了甚至为64位编译静态库,我的bjam看起来像这样.\bjam.exe--adr

python - Visual Studio 2013 中的 "Unsupported Python Version: 3.5"

一开始我以为是版本问题,所以我把版本从python3.5降到了2.7还是不行。同样的错误“Unsupportedpythonversion3.5”。请帮忙。注意:我已经在visualstudio中安装了python插件,声明为“PTVS2.1VS2013”​​(根据visualstudio的网站,这是最新的。) 最佳答案 如果你去Debug|选项和设置|Python工具|EnvironmentOptions,可以设置为使用Python2.7(即不需要卸载Python3.5)。PTVS似乎默认使用最新安装的Python版本,即使它与它

python - 通过Windows Task Scheduler 调用python 脚本时,如何正确导入用户定义的模块(包)?

我正在使用Windows服务器(2012)的任务计划程序和Python2.7我正在安排一个使用python运行的任务。具体来说:C:\Anaconda\python.exe并调用脚本作为位于另一个目录中的参数。但是,该脚本中的所有导入语句都没有被导入。我尝试了一个仅使用标准库的最低限度脚本,一切正常(即脚本完美运行并按预期运行)。但是,当我开始导入我自己的用户创建的包(位于与脚本相同的层次结构但不同的文件夹中)时,它们无法导入。我想我对如何在Python中导入包有一些误解。我的用户定义包在脚本的开头导入,如下所示:importyoloimportwisconsin当我在Eclipse(

python - 可以使用 WMI Python 终止进程

我知道可以使用WMI模块在远程Windows机器上创建进程,但我想知道结束进程是否也可以这样说。我无法找到与此相关的线程或任何文档,所以如果你能帮助我,我将不胜感激。 最佳答案 我想出了答案,以防其他人遇到类似问题;你实际上甚至不需要WMI并且可以直接从命令提示符运行:如果您在同一个网络中,您可以通过命令提示符发出命令,格式如下:taskkill/s[计算机名称或IP]/u[USER或DOMAIN\USER]/p密码/pid[要杀死的进程,即notepad.exe]这将需要一些时间,但最终会终止正在运行的进程。

c++ - 从用户模式 ​​win32 应用程序可靠地找到当前进程的 _write() 函数的地址

我正在编写一个应用程序,可以从系统上的任何用户模式进程捕获stdout/stderr和调试消息,并将其打印到控制台。由于程序的性质,无论是GUI、Windows服务等,我过去一直在编写程序的情况有几种……;看不到控制台输出,仅仅是因为没有控制台。解决此问题的明显方法是将打印语句更改为调试打印语句,例如OutputDebugString(),然后附加调试器并查看输出。有时设置调试器并查看所需的输出可能很棘手,尤其是在内核模式调试中。理想情况下,我正在编写的这个应用程序将允许您指定一个PID(并最终将处理驱动程序,现在不用担心)——并且无需作为调试器附加到该应用程序,它将显示所有输出到调试